<?
include("inc_security.php");

//Khai báo biến khi thêm mới
$after_save_data	= getValue("after_save_data", "str", "POST", "add.php");
$add					= "add.php";
$listing				= "listing.php";
$gs_title			= $module_name . " | Thêm mới";
$gs_action			= getURL();
$gs_redirect		= $after_save_data;
$gs_errorMsg		= "";

$type					= getValue("type", "str", "GET", "news");
//Lấy dữ liệu đề giữ nguyên trạng thái khi submit error
$cat_name			= getValue("cat_name", "str", "POST", "");
$cat_type			= getValue("cat_type", "str", "POST", $type);
$cat_order			= getValue("cat_order", "dbl", "POST", 1);
$cat_parent_id		= getValue("cat_parent_id", "int", "POST", 0);
$cat_homepage		= getValue("cat_homepage", "int", "POST", 0);
$cat_homepage_icon	= getValue("cat_homepage_icon", "int", "POST", 0);
$cat_active			= getValue("cat_active", "int", "POST", 1);

$class_menu			= new menu();
$listAll				= $class_menu->getAllChild("categories_multi", "cat_id", "cat_parent_id", 0, "cat_type = '" . $cat_type . "' AND lang_id = " . $lang_id, "cat_id,cat_name,cat_type", "cat_order ASC,cat_name ASC", "cat_has_child", 0);
unset($class_menu);

//Get action variable for add new data
$action				= getValue("action", "str", "POST", "");
//Check $action for insert new data
if($action == "execute"){

	//Lấy control dạng checkbox
	$cat_homepage			= getValue("cat_homepage", "int", "POST", 0);
	$cat_homepage_icon		= getValue("cat_homepage_icon", "int", "POST", 0);
	$cat_active				= getValue("cat_active", "int", "POST", 0);
	
	/*
	Call class form:
	1). Ten truong
	2). Ten form
	3). Kieu du lieu , 0 : string , 1 : kieu int, 2 : kieu email, 3 : kieu double, 4 : kieu hash password
	4). Noi luu giu data  0 : post, 1 : variable
	5). Gia tri mac dinh, neu require thi phai lon hon hoac bang default
	6). Du lieu nay co can thiet hay khong
	7). Loi dua ra man hinh
	8). Chi co duy nhat trong database
	9). Loi dua ra man hinh neu co duplicate
	*/
	$myform = new generate_form();
	//Add table insert data
	$myform->addTable($gs_table);
	$myform->add("cat_name", "cat_name", 0, 1, " ", 1, "Bạn chưa nhập tên danh mục.", 0, "");
	$myform->add("cat_type", "cat_type", 0, 1, " ", 1, "Bạn chưa chọn loại danh mục.", 0, "");
	$myform->add("cat_order", "cat_order", 3, 1, 0, 1, "Thứ tự phải lớn hơn hoặc bằng 0.", 0, "");
	$myform->add("cat_parent_id", "cat_parent_id", 1, 1, 0, 0, "", 0, "");
	$myform->add("cat_homepage", "cat_homepage", 1, 1, 0, 0, "", 0, "");
	$myform->add("cat_homepage_icon", "cat_homepage_icon", 1, 1, 0, 0, "", 0, "");
	$myform->add("cat_active", "cat_active", 1, 1, 0, 0, "", 0, "");
	
	//Check form data
	$gs_errorMsg .= $myform->checkdata();
	
	//Get $filename
	$filename		= "";
	if($gs_errorMsg == ""){
		$upload		= new upload($gs_fieldupload, $gs_filepath, $gs_extension, $gs_filesize, $gs_insert_logo);
		$filename	= $upload->file_name;
		$gs_errorMsg .= $upload->warning_error;
	}
	
	if($gs_errorMsg == ""){
		
		if($filename != ""){
			//Upload new image
			$$gs_fieldupload = $filename;
			$myform->add($gs_fieldupload, $gs_fieldupload, 0, 1, "", 0, "", 0, "");
			$upload->resize_image($gs_filepath, $filename, $width_small_image, $height_small_image, "small_");
		}//End if($filename != "")
		
		//Insert to database
		$myform->removeHTML(0);
		$db_insert	= new db_execute_return();
		$last_id		= $db_insert->db_execute($myform->generate_insert_SQL());
		unset($db_insert);
		
		if($last_id > 0){
			//Update mnu_has_child cua parent_id
			if($cat_parent_id > 0){
				$db_update = new db_execute("UPDATE categories_multi SET cat_has_child = 1 WHERE cat_id = " . $cat_parent_id);
				unset($db_update);
			}
			
			// Update cat_all_child
			$db_update	= new db_execute("UPDATE categories_multi SET cat_all_child = '" . $last_id . "' WHERE cat_id = " . $last_id);
			unset($db_update);
			
			//Redirect after insert complate
			$gs_redirect .= "?type=" . $cat_type;
			redirect($gs_redirect);
		}
		else{
			echo "Khong insert dc data !";
			exit();
		}
		
		//Redirect after insert complate
		$gs_redirect .= "?type=" . $cat_type;
		redirect($gs_redirect);
		
	}//End if($gs_errorMsg == "")
	unset($myform);
	
}//End if($action == "insert")
?>
<html>
<head>
<title><?=$gs_title?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css" media="all">@import "../css/GSportal.css";</style>
<script language="javascript" src="../js/library.js"></script>
<script language="javascript" src="../js/ajax.js"></script>
</head>
<body>
<div class="bg_title_content">
<div class="content_title" style="float:left"><?=$gs_title?></div>
<div class="content_title" style="float:right"><a title="Quay về danh sách" href="<?=$listing?>"><img align="absmiddle" border="0" hspace="5" src="<?=$gs_imagepath?>list.gif" />Danh sách</a></div>
</div>
<div align="center" class="content">
<?
$onChange	= "load_data('load_parent.php?type=' + this.value, 'content_loader')";
$form = new form();
$form->create_form("add", $gs_action, "post", "multipart/form-data");
$form->create_table();
?>
<?=$form->text_note('Những ô có dấu sao (<font class="form_asterisk">*</font>) là bắt buộc phải nhập.')?>
<?=$form->errorMsg($gs_errorMsg)?>
<?=$form->text("Tên danh mục", "cat_name", "cat_name", $cat_name, "Tên danh mục", 1, 250, "", 255, "", "", "")?>
<?=$form->select("Loại danh mục", "cat_type", "cat_type", $arrCategoryType, $cat_type, "Loại danh mục", 1, "", 1, 0, 'onChange="' . $onChange . '"', "")?>
<?=$form->getFile("Icon trang chủ", "cat_icon", "cat_icon", "Icon trang chủ", 0, 32, "", '<br />(Dung lượng tối đa <font color="#FF0000">' . $gs_filesize . ' Kb</font>. Kích thước <font color="#FF0000">' . $width_small_image . ' x '  . $height_small_image . '</font>)')?>
<?=$form->text("Thứ tự", "cat_order", "cat_order", $cat_order, "Thứ tự", 2, 50, "", 5, "", "", "")?>
<tr>
	<td class="form_name">Danh mục cấp trên :</td>
	<td class="form_text">
		<div id="content_loader">
			<select title="Danh mục cấp trên" id="cat_parent_id" name="cat_parent_id" class="form_control">
				<option value="0">--[Danh mục cấp trên]--</option>
				<?
				for($i=0; $i<count($listAll); $i++){
					$selected = ($cat_parent_id == $listAll[$i]["cat_id"]) ? ' selected="selected"' : '';
					echo '<option title="' . htmlspecialbo($listAll[$i]["cat_name"]) . '" value="' . $listAll[$i]["cat_id"] . '"' . $selected . '>';
					for($j=0; $j<$listAll[$i]["level"]; $j++) echo ' |--';
					echo ' ' . cut_string($listAll[$i]["cat_name"], 55) . '</option>';
				}
				?>
			</select>
		</div>
	</td>
</tr>
<?=$form->checkbox("Hiển thị trang chủ", "cat_homepage", "cat_homepage", 1, $cat_homepage, "", 0, "", "")?>
<?=$form->checkbox("Hiển thị icon trang chủ", "cat_homepage_icon", "cat_homepage_icon", 1, $cat_homepage_icon, "", 0, "", "")?>
<?=$form->checkbox("Kích hoạt", "cat_active", "cat_active", 1, $cat_active, "", 0, "", "")?>
<?=$form->radio("Sau khi lưu dữ liệu", "add_new" . $form->ec . "return_listing", "after_save_data", $add . $form->ec . $listing, $after_save_data, "Thêm mới" . $form->ec . "Quay về danh sách", 0, $form->ec, "");?>
<?=$form->button("submit" . $form->ec . "reset", "submit" . $form->ec . "reset", "submit" . $form->ec . "reset", "Cập nhật" . $form->ec . "Làm lại", "Cập nhật" . $form->ec . "Làm lại", 'style="background:url(' . $gs_imagepath . 'button_1.gif) no-repeat"' . $form->ec . 'style="background:url(' . $gs_imagepath . 'button_2.gif)"', "");?>
<?=$form->hidden("action", "action", "execute", "");?>
<?
$form->close_table();
$form->close_form();
unset($form);
?>
</div>
</body>
</html>
<script language="javascript">ButtonLeftFrame();</script>